#include <stdio.h>
#include <unistd.h>
#include <string.h>

int main()
{
    fprintf(stdout,"C : Hello fprintf\n");
    fputs("C : Hello fputs\n",stdout);
    printf("C : Hello printf\n");

    const char* str = "system call : Hello write\n";
    write(1,str,strlen(str));

    fork();  // 注意这里fork的位置

    return 0;
}


//#include <stdio.h>
//
//int main()
//{
//    fprintf(stdout,"This is a normol message\n");
//    fprintf(stderr,"This is a error message\n");
//
//    return 0;
//}


//#include <string.h>
//#include <stdio.h>
//#include <sys/types.h>
//#include <sys/stat.h>
//#include <fcntl.h>
//#include <unistd.h>
//
//
//int main()
//{
//    // close(0);
//
//    int fd = open("fortest.txt",O_RDWR);
//
//    if(fd < 0)
//    {
//        perror("open");
//        return 1;
//    }
//
//    dup2(fd,0);
//   
//    char buffer[1024];
//    fread(buffer,1,sizeof(buffer),stdin);
//
//    printf("%s",buffer);
//    // printf("fd : %d\n",fd);
//    // printf("stdout->fd : %d\n",stdout->_fileno);
//
//    //fflush(stdout);
//    close(fd);
//
//    return 0;
//}



//int main()
//{
//    // 标准输入/输出/错误
//    printf("stdin->fd:%d\n",stdin->_fileno);
//    printf("stdout->fd:%d\n",stdout->_fileno);
//    printf("stderr->fd:%d\n",stderr->_fileno);
//
//    FILE* fp = fopen("fortest.txt","w");
//    printf("fp->fd:%d\n",fp->_fileno);
//    fclose(fp);
//
//    return 0;
//}



//int main()
//{
//    int fd1 = open("fortest1.txt",O_WRONLY|O_CREAT|O_TRUNC,0666);
//    int fd2 = open("fortest2.txt",O_WRONLY|O_CREAT|O_TRUNC,0666);
//    int fd3 = open("fortest3.txt",O_WRONLY|O_CREAT|O_TRUNC,0666);
//    int fd4 = open("fortest4.txt",O_WRONLY|O_CREAT|O_TRUNC,0666);
//
//    printf("fd1:%d\n",fd1);
//    printf("fd2:%d\n",fd2);
//    printf("fd3:%d\n",fd3);
//    printf("fd4:%d\n",fd4);
//
//    close(fd1);
//    close(fd2);
//    close(fd3);
//    close(fd4);
//
//    return 0;
//}

//int main()
//{
//    int fd = open("fortest.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//    //int fd = open("fortest.txt",O_WRONLY|O_CREAT|O_TRUNC,0666);
//    // int fd = open("fortest.txt",O_WRONLY|O_CREAT,0666);
//
//    if(fd == -1)
//    {
//        perror("open\n");
//    }
//
//    const char* str = "Hello Linux\n";
//    write(fd,str,strlen(str));
//
//    close(fd);
//
//
//    return 0;
//}

//#include <stdio.h>
//
//#define Print1 1          // 0001
//#define Print2 (1<<1)     // 0010
//#define Print3 (1<<2)     // 0100
//#define Print4 (1<<3)     // 1000
//
//void Print(int flags)
//{
//    if(flags&Print1)
//        printf("Print1\n");
//    if(flags&Print2)
//        printf("Print2\n");
//    if(flags&Print3)
//        printf("Print3\n");
//    if(flags&Print4)
//        printf("Print4\n");
//
//    printf("\n");
//}
//
//int main()
//{
//    Print(Print1);
//    Print(Print1|Print2);
//    Print(Print1|Print2|Print3);
//    Print(Print3|Print4);
//    Print(Print4);
//
//    return 0;
//}
//



//#include <stdio.h>
//
//int main()
//{
//    FILE* fp = fopen("fortest.txt","a");
//    if(fp == NULL)
//    {
//        perror("fopen\n");
//    }
//
//    // const char* str = "Hello Linux\n";
//    // fputs(str,fp);
//
//    fclose(fp);
//
//    return 0;
//}


//#include <stdio.h>
//
//int main()
//{
//    FILE* fp = fopen("fortest.txt","w");
//    if(fp == NULL)
//    {
//        perror("fopen\n");
//    }
//
//    //const char* str = "Hello Linux\n";
//    //fputs(str,fp);
//
//    fclose(fp);
//
//    return 0;
//}
